﻿//===============================================================================
//	LuaGlueMission.h
//	LUA -> C++ 地图相关接口管理器
//===============================================================================

#include <cstdint>

struct lua_State;

//-------------------------------------------------------------------------------
//	获取空任务索引
int32_t Mis_GetEmptyMissionPos(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取当前主线任务ID
int32_t Mis_GetMainMissionId(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取任务索引
int32_t Mis_GetIndexByMissionID(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取任务ID
int32_t Mis_GetMissionIdByIndex(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取任务限定战队等级
int32_t Mis_GetMissionLimitLevelByIndex(lua_State *ls);

//-------------------------------------------------------------------------------
//	设置任务数据
int32_t Mis_SetMissionToUser(lua_State *ls);
int32_t Mis_MissionFinished(lua_State *ls);
int32_t Mis_SetMissionFlag(lua_State *ls);
int32_t Mis_GetMissionFlag(lua_State *ls);

//  +设置日常任务数据
int32_t Mis_SetDailyMissionFlag(lua_State *ls);

//	刷新任务存储信息
//int32_t Mis_UpdateMainMissionDBInfo(lua_State *ls);

//-------------------------------------------------------------------------------
//	发送任务列表
int32_t MisDlg_SendMissionList(lua_State *ls);
//-------------------------------------------------------------------------------
//	发送任务状态列表
int32_t MisDlg_SendMissionCompleteList(lua_State *ls);
//-------------------------------------------------------------------------------

int32_t Mis_ResetMissionStateToLastByLuaIndex(lua_State *ls);
//

//  获取任务info数组数据
int32_t Mission_GetInfoArrayData(lua_State *ls);

//-------------------------------------------------------------------------------
//	清空日常任务列表
int32_t DailyMission_ListClear(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务配置数量
int32_t DailyMission_ConfigCount(lua_State *ls);
//-------------------------------------------------------------------------------
// 日常任务基本信息
int32_t DailyMission_ConfigInfo(lua_State *ls);
//-------------------------------------------------------------------------------

//	获取日常任务在列表中的起始位置
int32_t DailyMission_GetStartAndEndPos(lua_State *ls);

//	是否在日常列表中
int32_t DailyMission_InThelist(lua_State *ls);

//-------------------------------------------------------------------------------
//	获取日常任务开放状态
int32_t DailyMission_GetReleasedState(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务要求
int32_t DailyMission_GetRequirLimit(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务活跃度
int32_t DailyMission_GetActiveLimit(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务空闲位
int32_t DailyMission_GetEmptyPosByErea(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务解锁系统id
int32_t DailyMission_GetUnlockSystemId(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务解锁系统类型及参数
int32_t DailyMission_GetUnlockSystemData(lua_State *ls);
int32_t DailyMission_CheckUnlockData(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取日常任务解锁数值
int32_t DailyMission_GetPlayerValueAboutUnlockSys(lua_State *ls);

//-------------------------------------------------------------------------------
//	日常任务宝箱
int32_t DailyMission_RewardBoxInfo(lua_State *ls);

//-------------------------------------------------------------------------------
//	日常任务列表
int32_t DailyMission_SendList(lua_State *ls);


//-------------------------------------------------------------------------------
//	悬赏任务索引起始位置
int32_t MissionOfferReward_GetStartPos(lua_State *ls);

//-------------------------------------------------------------------------------
//	悬赏任务星级
int32_t MissionOfferReward_SetStar(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务列表
int32_t MissionOfferReward_ListToClient(lua_State *ls);

//-------------------------------------------------------------------------------
//	清空一个悬赏任务
int32_t MissionOfferReward_ClearByIdx(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务有效位置
int32_t MissionOfferReward_GetAvailablePos(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务索引
int32_t MissionOfferReward_GetIndexById(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务重置
int32_t MissionOfferReward_ResetByIndex(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务刷新消耗
int32_t MissionOfferReward_GetUpdateCostByIdxZero(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务立即完成消耗
int32_t MissionOfferReward_CompleteImmediatelyCost(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务领取后其他N条任务状态设置
int32_t MissionOfferReward_SetElseMissionInvalidState(lua_State *ls);
//-------------------------------------------------------------------------------
//	悬赏任务领取后其他N条任务状态重置
int32_t MissionOfferReward_ResetElseMissionInvalidState(lua_State *ls);
//-------------------------------------------------------------------------------
//	更新一条悬赏任务
int32_t MissionOfferReward_UpdateListByOneItem(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取悬赏任务星级
int32_t MissionOfferReward_GetStarLevel(lua_State *ls);
//-------------------------------------------------------------------------------
//	更新悬赏任务条目
int32_t Mission_UpdateItemInfo(lua_State *ls);

//-------------------------------------------------------------------------------
//	获取悬赏任务要求数值
int32_t MissionOfferReward_GetRequirValue(lua_State *ls);
//-------------------------------------------------------------------------------
//	获取悬赏任务目标ID
int32_t MissionOfferReward_GetTargetId(lua_State *ls);

//	获取悬赏任务内存起始位置
int32_t MissionOfferReward_GetStartAndEndPos(lua_State *ls);
int32_t MissionOfferReward_CheckMissionListIsExist(lua_State *ls);


//-------------------------------------------------------------------------------
//	任务奖励数据
int32_t Mission_GetRewardTableItemData(lua_State *ls);
int32_t Mission_GetRewardTableItemCount(lua_State *ls);

//-------------------------------------------------------------------------------
//	主线：背包物品检查
//int32_t Mission_ChangeItemCheckMissionState(lua_State *ls);
//	主线：通关副本
int32_t MainMission_DungeonClearance(lua_State *ls);

